// RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s

// CHECK: llwpcb %r13d
// CHECK: encoding: [0x8f,0xc9,0x78,0x12,0xc5]
llwpcb %r13d

// CHECK: llwpcb %r13
// CHECK: encoding: [0x8f,0xc9,0xf8,0x12,0xc5]
llwpcb %r13

// CHECK: lwpins $0, 485498096, %r15d
// CHECK: encoding: [0x8f,0xea,0x00,0x12,0x04,0x25,0xf0,0x1c,0xf0,0x1c,0x00,0x00,0x00,0x00]
lwpins $0, 485498096, %r15d

// CHECK: lwpins $0, 485498096, %r15
// CHECK: encoding: [0x8f,0xea,0x80,0x12,0x04,0x25,0xf0,0x1c,0xf0,0x1c,0x00,0x00,0x00,0x00]
lwpins $0, 485498096, %r15

// CHECK: lwpins $0, 64(%rdx), %r15d
// CHECK: encoding: [0x8f,0xea,0x00,0x12,0x42,0x40,0x00,0x00,0x00,0x00]
lwpins $0, 64(%rdx), %r15d

// CHECK: lwpins $0, 64(%rdx), %r15
// CHECK: encoding: [0x8f,0xea,0x80,0x12,0x42,0x40,0x00,0x00,0x00,0x00]
lwpins $0, 64(%rdx), %r15

// CHECK: lwpins $0, 64(%rdx,%rax,4), %r15d
// CHECK: encoding: [0x8f,0xea,0x00,0x12,0x44,0x82,0x40,0x00,0x00,0x00,0x00]
lwpins $0, 64(%rdx,%rax,4), %r15d

// CHECK: lwpins $0, 64(%rdx,%rax,4), %r15
// CHECK: encoding: [0x8f,0xea,0x80,0x12,0x44,0x82,0x40,0x00,0x00,0x00,0x00]
lwpins $0, 64(%rdx,%rax,4), %r15

// CHECK: lwpins $0, -64(%rdx,%rax,4), %r15d
// CHECK: encoding: [0x8f,0xea,0x00,0x12,0x44,0x82,0xc0,0x00,0x00,0x00,0x00]
lwpins $0, -64(%rdx,%rax,4), %r15d

// CHECK: lwpins $0, -64(%rdx,%rax,4), %r15
// CHECK: encoding: [0x8f,0xea,0x80,0x12,0x44,0x82,0xc0,0x00,0x00,0x00,0x00]
lwpins $0, -64(%rdx,%rax,4), %r15

// CHECK: lwpins $0, 64(%rdx,%rax), %r15d
// CHECK: encoding: [0x8f,0xea,0x00,0x12,0x44,0x02,0x40,0x00,0x00,0x00,0x00]
lwpins $0, 64(%rdx,%rax), %r15d

// CHECK: lwpins $0, 64(%rdx,%rax), %r15
// CHECK: encoding: [0x8f,0xea,0x80,0x12,0x44,0x02,0x40,0x00,0x00,0x00,0x00]
lwpins $0, 64(%rdx,%rax), %r15

// CHECK: lwpins $0, %r13d, %r15d
// CHECK: encoding: [0x8f,0xca,0x00,0x12,0xc5,0x00,0x00,0x00,0x00]
lwpins $0, %r13d, %r15d

// CHECK: lwpins $0, %r13d, %r15
// CHECK: encoding: [0x8f,0xca,0x80,0x12,0xc5,0x00,0x00,0x00,0x00]
lwpins $0, %r13d, %r15

// CHECK: lwpins $0, (%rdx), %r15d
// CHECK: encoding: [0x8f,0xea,0x00,0x12,0x02,0x00,0x00,0x00,0x00]
lwpins $0, (%rdx), %r15d

// CHECK: lwpins $0, (%rdx), %r15
// CHECK: encoding: [0x8f,0xea,0x80,0x12,0x02,0x00,0x00,0x00,0x00]
lwpins $0, (%rdx), %r15

// CHECK: lwpval $0, 485498096, %r15d
// CHECK: encoding: [0x8f,0xea,0x00,0x12,0x0c,0x25,0xf0,0x1c,0xf0,0x1c,0x00,0x00,0x00,0x00]
lwpval $0, 485498096, %r15d

// CHECK: lwpval $0, 485498096, %r15
// CHECK: encoding: [0x8f,0xea,0x80,0x12,0x0c,0x25,0xf0,0x1c,0xf0,0x1c,0x00,0x00,0x00,0x00]
lwpval $0, 485498096, %r15

// CHECK: lwpval $0, 64(%rdx), %r15d
// CHECK: encoding: [0x8f,0xea,0x00,0x12,0x4a,0x40,0x00,0x00,0x00,0x00]
lwpval $0, 64(%rdx), %r15d

// CHECK: lwpval $0, 64(%rdx), %r15
// CHECK: encoding: [0x8f,0xea,0x80,0x12,0x4a,0x40,0x00,0x00,0x00,0x00]
lwpval $0, 64(%rdx), %r15

// CHECK: lwpval $0, 64(%rdx,%rax,4), %r15d
// CHECK: encoding: [0x8f,0xea,0x00,0x12,0x4c,0x82,0x40,0x00,0x00,0x00,0x00]
lwpval $0, 64(%rdx,%rax,4), %r15d

// CHECK: lwpval $0, 64(%rdx,%rax,4), %r15
// CHECK: encoding: [0x8f,0xea,0x80,0x12,0x4c,0x82,0x40,0x00,0x00,0x00,0x00]
lwpval $0, 64(%rdx,%rax,4), %r15

// CHECK: lwpval $0, -64(%rdx,%rax,4), %r15d
// CHECK: encoding: [0x8f,0xea,0x00,0x12,0x4c,0x82,0xc0,0x00,0x00,0x00,0x00]
lwpval $0, -64(%rdx,%rax,4), %r15d

// CHECK: lwpval $0, -64(%rdx,%rax,4), %r15
// CHECK: encoding: [0x8f,0xea,0x80,0x12,0x4c,0x82,0xc0,0x00,0x00,0x00,0x00]
lwpval $0, -64(%rdx,%rax,4), %r15

// CHECK: lwpval $0, 64(%rdx,%rax), %r15d
// CHECK: encoding: [0x8f,0xea,0x00,0x12,0x4c,0x02,0x40,0x00,0x00,0x00,0x00]
lwpval $0, 64(%rdx,%rax), %r15d

// CHECK: lwpval $0, 64(%rdx,%rax), %r15
// CHECK: encoding: [0x8f,0xea,0x80,0x12,0x4c,0x02,0x40,0x00,0x00,0x00,0x00]
lwpval $0, 64(%rdx,%rax), %r15

// CHECK: lwpval $0, %r13d, %r15d
// CHECK: encoding: [0x8f,0xca,0x00,0x12,0xcd,0x00,0x00,0x00,0x00]
lwpval $0, %r13d, %r15d

// CHECK: lwpval $0, %r13d, %r15
// CHECK: encoding: [0x8f,0xca,0x80,0x12,0xcd,0x00,0x00,0x00,0x00]
lwpval $0, %r13d, %r15

// CHECK: lwpval $0, (%rdx), %r15d
// CHECK: encoding: [0x8f,0xea,0x00,0x12,0x0a,0x00,0x00,0x00,0x00]
lwpval $0, (%rdx), %r15d

// CHECK: lwpval $0, (%rdx), %r15
// CHECK: encoding: [0x8f,0xea,0x80,0x12,0x0a,0x00,0x00,0x00,0x00]
lwpval $0, (%rdx), %r15

// CHECK: slwpcb %r13d
// CHECK: encoding: [0x8f,0xc9,0x78,0x12,0xcd]
slwpcb %r13d

// CHECK: slwpcb %r13
// CHECK: encoding: [0x8f,0xc9,0xf8,0x12,0xcd]
slwpcb %r13
